home *** CD-ROM | disk | FTP | other *** search
Wrap
CCCCHHHHEEEERRRR2222((((3333SSSS)))) CCCCHHHHEEEERRRR2222((((3333SSSS)))) NNNNAAAAMMMMEEEE CCCCHHHHEEEERRRR2222, ZZZZHHHHEEEERRRR2222 - Performs Hermitian rank 2 update of a complex Hermitian matrix SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS Single precision complex Fortran: CCCCAAAALLLLLLLL CCCCHHHHEEEERRRR2222 ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y,,,, _a,,,, _l_d_a)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd cccchhhheeeerrrr2222 ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a_l_p_h_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd cccchhhheeeerrrr2222 ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a,,,, iiiinnnntttt _l_d_a))));;;; Double precision complex Fortran: CCCCAAAALLLLLLLL ZZZZHHHHEEEERRRR2222 ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y,,,, _a,,,, _l_d_a)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd zzzzhhhheeeerrrr2222 ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a_l_p_h_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd zzzzhhhheeeerrrr2222 ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a,,,, iiiinnnntttt _l_d_a))));;;; IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN These routines are part of the SCSL Scientific Library and can be loaded using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option. The ----llllssssccccssss____mmmmpppp option directs the linker to use the multi-processor version of the library. When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is 4 bytes (32 bits). Another version of SCSL is available in which integers are 8 bytes (64 bits). This version allows the user access to larger memory sizes and helps when porting legacy Cray codes. It can be loaded by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use only one of the two versions; 4-byte integer and 8-byte integer library PPPPaaaaggggeeee 1111 CCCCHHHHEEEERRRR2222((((3333SSSS)))) CCCCHHHHEEEERRRR2222((((3333SSSS)))) calls cannot be mixed. The C and C++ prototypes shown above are appropriate for the 4-byte integer version of SCSL. When using the 8-byte integer version, the variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header file should be included. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN These routines perform the following Hermitian rank 2 operation: _A <- _a_l_p_h_a _x_y_H + (complex conjugate of _a_l_p_h_a) * _y_x_H + _A where _a_l_p_h_a is a scalar, _x and _y are _n-element vectors, _x_H and _y_H conjugate transposes of _x and _y, respectively, and _A is an _n-by-_n Hermitian matrix. See the NOTES section of this man page for information about the interpretation of the data types described in the following arguments. These routines have the following arguments: _u_p_l_o Character. (input) Specifies whether the upper or lower triangular part of array _a is referenced, as follows: _u_p_l_o= 'U' or 'u': only the upper triangular part of _a is referenced. _u_p_l_o= 'L' or 'l': only the lower triangular part of _a is referenced. For C/C++, a pointer to this character is passed. _n Integer. (input) Specifies the order of matrix _A. _n >= 0. _a_l_p_h_a Scalar alpha. CCCCHHHHEEEERRRR2222: Single precision complex. ZZZZHHHHEEEERRRR2222: Double precision complex. For C/C++, a pointer to this scalar is passed. _x Array of dimension 1+(_n-1) * |_i_n_c_x|. (input) CCCCHHHHEEEERRRR2222: Single precision complex array. ZZZZHHHHEEEERRRR2222: Double precision complex array. Contains vector _x. _i_n_c_x Integer. (input) Specifies the increment for the elements of _x. _i_n_c_x must not be 0. PPPPaaaaggggeeee 2222 CCCCHHHHEEEERRRR2222((((3333SSSS)))) CCCCHHHHEEEERRRR2222((((3333SSSS)))) _y Array of dimension 1+(_n-1) * |_i_n_c_y|. (input) CCCCHHHHEEEERRRR2222: Single precision complex array. ZZZZHHHHEEEERRRR2222: Double precision complex array. Contains vector _y. _i_n_c_y Integer. (input) Specifies the increment for the elements of _y. _i_n_c_y must not be 0. _a Array of dimension (_l_d_a,_n). (input and output) CCCCHHHHEEEERRRR2222: Single precision complex array. ZZZZHHHHEEEERRRR2222: Double precision complex array. Before entry with _u_p_l_o = 'U' or 'u', the leading _n-by-_n upper triangular part of array _a must contain the upper triangular part of the Hermitian matrix. The strictly lower triangular part of _a is not referenced. On exit, the upper triangular part of the updated matrix overwrites the upper triangular part of array _a. Before entry with _u_p_l_o = 'L' or 'l', the leading _n-by-_n lower triangular part of array _a must contain the lower triangular part of the Hermitian matrix. The strictly upper triangular part of _a is not referenced. On exit, the lower triangular part of the updated matrix overwrites the lower triangular part of array _a. The imaginary parts of the diagonal elements need not be set. They are assumed to be 0; on exit, they are set to 0. _l_d_a Integer. (input) Specifies the first dimension of _a as declared in the calling program. _l_d_a >= MMMMAAAAXXXX(1,_n). NNNNOOOOTTTTEEEESSSS CCCCHHHHEEEERRRR2222/ZZZZHHHHEEEERRRR2222 is a Level 2 Basic Linear Algebra Subprogram (Level 2 BLAS). When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), this routine starts at the end of the vector and moves backward, as follows: _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)) , ..., _x(1) _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)) , ..., _y(1) DDDDaaaattttaaaa TTTTyyyyppppeeeessss The following data types are described in this documentation: TTTTeeeerrrrmmmm UUUUsssseeeedddd DDDDaaaattttaaaa ttttyyyyppppeeee PPPPaaaaggggeeee 3333 CCCCHHHHEEEERRRR2222((((3333SSSS)))) CCCCHHHHEEEERRRR2222((((3333SSSS)))) Fortran: Array dimensioned _n xxxx((((nnnn)))) Array of dimensions (_m,_n) xxxx((((mmmm,,,,nnnn)))) Character CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR Integer IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision complex CCCCOOOOMMMMPPPPLLLLEEEEXXXX Double precision complex DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX C/C++: Array dimensioned _n xxxx[[[[_n]]]] Array of dimensions (_m, _n) xxxx[[[[mmmm****nnnn]]]] Character cccchhhhaaaarrrr Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision complex ssssccccssssllll____ccccoooommmmpppplllleeeexxxx Double precision complex ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx C++ STL: Array dimensioned _n xxxx[[[[_n]]]] Array of dimensions (_m, _n) xxxx[[[[mmmm****nnnn]]]] Character cccchhhhaaaarrrr Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision complex ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> Double precision complex ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> Note that you can explicitly declare multidimensional C/C++ arrays provided that the array dimensions are swapped with respect to the Fortran declaration (e.g., xxxx[[[[nnnn]]]][[[[mmmm]]]] in C/C++ versus xxxx((((mmmm,,,,nnnn)))) in Fortran). To avoid a compiler type mismatch error in C++ (or a compiler warning message in C), however, the array should be cast to a pointer of the appropriate type when passed as an argument to a SCSL routine. PPPPaaaaggggeeee 4444 CCCCHHHHEEEERRRR2222((((3333SSSS)))) CCCCHHHHEEEERRRR2222((((3333SSSS)))) SEE ALSO IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S), SSSSSSSSYYYYRRRR2222(3S) IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77 Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic Linear Algebra Subprograms Technical Forum. PPPPaaaaggggeeee 5555